MyDesktop.RecSolicitudExtranjera = Ext.extend(Ext.app.Module, {
    id:'rec_solicitud_extranjera-win',
    id_abrev:'rsole-win',//abreviatura para el mantenimiento del modulo de recepcion de firmas extranjeras
    init : function(){
        this.launcher = {
            text: 'RECEPCION DE SOLICITUDES DE FIRMAS EXTRANJERAS',
            iconCls:'icon_win_recextranjera',
            handler : this.createWindow,
            scope: this
        }
    },

    createWindow : function()
    {
        var desktop = this.app.getDesktop();
        var win = desktop.getWindow('rec_solicitud_extranjera-win');
        Ext.form.Field.prototype.msgTarget='side';
        
        var abrev_interno = this.id_abrev;
        
        if(!win)
        {
            var form_solicitud_extranjera = new Ext.FormPanel
            ({
                id          :   'id_form_solicitud_extranjera_'+this.id_abrev,
                labelAlign  :   'top',
                bodyStyle   :   'padding:5px',
                height      :   360,
                autoScroll  :   true,
                
                border      :   true,
                items: 
                [
                    {
                        layout  :   'column',
                        border  :   false,
                        items   :
                        [
                            {
                                columnWidth :   .5,
                                layout      :   'form',
                                border      :   false,
                                items       : 
                                [
                                     new Ext.form.NumberField
                                    ({
                                        fieldLabel      :   '<b>SOLICITUD N&deg;</b>',
                                        id              :   'txt_ninscripcion_'+this.id_abrev,
                                        name            :   'txt_ninscripcion_'+this.id_abrev,
                                        allowDecimals   :   false,
		                        allowNegative   :   false,
                                        anchor          :   '80%',
                                        readOnly        :   true,
                                        fieldClass      :   'style_input_inscripcion'
                                    })
                                ]
                            },
                            {
                                columnWidth :   0.5,
                                layout      :   'form',
                                border      :   false,
                                items       : 
                                [
                                    {
                                        xtype       :   'datefield',
                                        name        :   'date_solicitud_'+this.id_abrev,
                                        id          :   'date_solicitud_'+this.id_abrev,
                                        fieldLabel  :   '<b>FECHA SOLICITUD</b>',
                                        anchor      :   '70%',
                                        editable    :   true,
					format      :   'd/m/Y',
					disabled    :   true,
                                        allowBlank  :   false,
                                        fieldClass  :   'style_input'
                                    }
                                ]
                            },
                            {
                                columnWidth :   1.0,
                                layout      :   'form',
                                border      :   false,
                                items       : 
                                [
                                     {
                                        xtype       :   'textfield',
                                        fieldLabel  :   '<b>NOMBRE FIRMA EXTRANJERA</b>',
                                        name        :   'txt_namefirma_'+this.id_abrev,
                                        id          :   'txt_namefirma_'+this.id_abrev,
                                        disabled    :   true,
                                        anchor      :   '95%',
                                        vtype       :   'uppercasenumeros',
                                        maxLength   :   350,
                                        allowBlank  :   false,
                                        fieldClass  :   'style_input'
                                    },
                                    {
                                        xtype       :   'hidden',
                                        name        :   'hid_bandera_'+this.id_abrev,
                                        id          :   'hid_bandera_'+this.id_abrev
                                    },
                                    {
                                        xtype       :   'hidden',
                                        name        :   'hid_idautorizado_'+this.id_abrev,
                                        id          :   'hid_idautorizado_'+this.id_abrev
                                    }
                                ]
                            },
                            {
                                columnWidth :   0.5,
                                layout      :   'form',
                                border      :   false,
                                items       : 
                                [
                                    {
                                        xtype       :   'datefield',
                                        name        :   'date_fechai_'+this.id_abrev,
                                        id          :   'date_fechai_'+this.id_abrev,
                                        fieldLabel  :   '<b>FECHA INICIAL</b>',
                                        anchor      :   '90%',
                                        editable    :   true,
                                        format      :   'd/m/Y',
                                        disabled    :   true,
                                        fieldClass  :   'style_input'
                                    }
                                ]
                            },
                            {
                                columnWidth :   0.5,
                                layout      :   'form',
                                border      :   false,
                                items       : 
                                [
                                    {
                                        xtype       :   'datefield',
                                        name        :   'date_fechaf_'+this.id_abrev,
                                        id          :   'date_fechaf_'+this.id_abrev,
                                        fieldLabel  :   '<b>FECHA FINAL</b>',
                                        anchor      :   '90%',
                                        editable    :   true,
                                        format      :   'd/m/Y',
                                        disabled    :   true,
                                        fieldClass  :   'style_input'
                                    }
                                ]
                            }                            
                            ,
                            {
                                columnWidth :   1.0,
                                layout      :   'form',
                                border      :   false,
                                items       : 
                                [
                                    {
                                        xtype       :   'textfield',
                                        fieldLabel  :   '<b>REPRESENTANTE LEGAL DE FIRMA EXTRANJERA</b>',
                                        name        :   'txt_representantel_'+this.id_abrev,
                                        id          :   'txt_representantel_'+this.id_abrev,
                                        disabled    :   true,
                                        anchor      :   '95%',
                                        allowBlank  :   false,
                                        maxLength   :   350,
                                        vtype       :   'uppercase',
                                        fieldClass  :   'style_input'
                                    }
                                ]
                            },
                            {
                                columnWidth :   0.95,
                                layout      :   'form',
                                border      :   false,
                                items       : 
                                [
                                    {
                                        xtype       :   'textfield',
                                        fieldLabel  :   '<b>NOMBRE DE AUTORIZADO</b>',
                                        name        :   'txt_autorizado_'+this.id_abrev,
                                        id          :   'txt_autorizado_'+this.id_abrev,
                                        readOnly    :   true,
                                        anchor      :   '98%',
                                        fieldClass  :   'style_input',
                                        allowBlank  :   false
                                    }
                                ] 
                            },
                            {
                                columnWidth :   0.05,
                                layout      :   'form',
                                border      :   false,
                                items       : 
                                [
                                    {
                                        xtype       :   'button',
                                        fieldLabel  :   ' ',
                                        id          :   'btn_buscar_auto_'+this.id_abrev,
                                        labelSeparator  : ' <font color="white"> : </font>',
                                        iconCls     :   'icon_buscar',
                                        disabled    :   true,
                                        title       :   'BUSCAR',
                                        handler     :   function()
                                        {
                                            buscar_autorizados('txt_autorizado_'+abrev_interno,'hid_idautorizado_'+abrev_interno,abrev_interno);
                                        }
                                    }
                                ] 
                            }                            
                        ]
                    }
                ]
            });            
            
            
            
            
        
            
            
            win = desktop.createWindow
            ({
                id              :   'rec_solicitud_extranjera-win',
                title           :   'RECEPCION DE SOLICITUDES DE FIRMAS EXTRANJERAS',
                width           :   800,
                height          :   450,
                iconCls         :   'icon_win_recextranjera',
                shim            :   false,
                animCollapse    :   false,
                constrainHeader :   true,
                autoScroll      :   true,
                layout          :   'fit',
                items           :   [form_solicitud_extranjera],
                tbar            : 
                [
                    {text:'AGREGAR', iconCls:'icon_new', scope:this, handler:this.onNewExtranjera, id:'btnNewExtranjera_'+this.id_abrev,disabled:false},'|',
                    {text:'GUARDAR', iconCls:'icon_save', scope:this, handler:this.onSave, id:'btnSave_'+this.id_abrev,disabled:true},'|',
                    {text:'CANCELAR', iconCls:'icon_cancelar', scope:this, handler:this.onCancelar, id:'btnCancelar_'+this.id_abrev,disabled:true},'|',
                ] 
            });
        }
        win.show();
    },
    
    onNewExtranjera     :   function()
    {
        Ext.getCmp('id_form_solicitud_extranjera_'+this.id_abrev).getForm().reset();
        
        Ext.getCmp('hid_bandera_'+this.id_abrev).setValue(1);
        Ext.getCmp('date_solicitud_'+this.id_abrev).enable();
        Ext.getCmp('txt_namefirma_'+this.id_abrev).enable();
        Ext.getCmp('txt_representantel_'+this.id_abrev).enable();
        Ext.getCmp('txt_autorizado_'+this.id_abrev).enable();
        Ext.getCmp('btn_buscar_auto_'+this.id_abrev).enable();
        Ext.getCmp('date_fechai_'+this.id_abrev).enable();
        Ext.getCmp('date_fechaf_'+this.id_abrev).enable();
        
        Ext.getCmp('btnNewExtranjera_'+this.id_abrev).disable();
        Ext.getCmp('btnSave_'+this.id_abrev).enable();
        Ext.getCmp('btnCancelar_'+this.id_abrev).enable();
    },
    
    onSave              :   function()
    {
       var id = this.id_abrev;
       Ext.getCmp('btnSave_'+this.id_abrev).disable();

         if (Ext.getCmp('id_form_solicitud_extranjera_'+this.id_abrev).getForm().isValid())
         {
            Ext.getCmp('id_form_solicitud_extranjera_'+this.id_abrev).getForm().submit
            ({   
                waitMsg: 'VALIDANDO DATOS...',
		url: 'modulos/extranjera/save_solicitud_extranjera.php',
                method: 'POST',
                params: 
                {
                  id_mod    :   id
                },  
    		success: function(form, action)
                {							
                    switch(action.result.bandera)
                    {
                        case 1:
                            Ext.getCmp("txt_ninscripcion_"+id).setValue(action.result.idsolicitud);
                            Ext.getCmp('hid_bandera_'+id).setValue();
                            
                            Ext.getCmp('date_solicitud_'+id).disable();
                            Ext.getCmp('txt_namefirma_'+id).disable();
                            Ext.getCmp('txt_representantel_'+id).disable();
                            Ext.getCmp('txt_autorizado_'+id).disable();
                            Ext.getCmp('btn_buscar_auto_'+id).disable();
                            Ext.getCmp('date_fechai_'+this.id_abrev).disable();
                            Ext.getCmp('date_fechaf_'+this.id_abrev).disable();                            

                            Ext.getCmp('btnNewExtranjera_'+id).enable();
                            Ext.getCmp('btnSave_'+id).disable();
                            Ext.getCmp('btnCancelar_'+id).disable();
                            
                            Ext.MessageBox.show
                             ({
                                    title   : 'INFORMACION DEL SISTEMA',
                                    msg     : '<b>LOS DATOS INGRESADOS SE GUARDARON CORRECTAMENTE!!!</b>',
                                    buttons : Ext.MessageBox.OK,
                                    icon    : Ext.MessageBox.INFO
                            });
                        break;
                        case 2:
                            Ext.getCmp('btnSave_'+id).disable();
                            Ext.MessageBox.show
                             ({
                                    title   : 'ERROR DE SISTEMA',
                                    msg     : '<b>NO EXISTE UNA SESION VIGENTE PARA REALIZAR UNA OPERACION. SE INICIARA DE NUEVO EL SISTEMA</b>',
                                    buttons : Ext.MessageBox.OK,
                                    icon    : Ext.MessageBox.ERROR
                            });
                            location.href = '';
                        break;
                        case 3:
                            Ext.getCmp('btnSave_'+id).disable();
                            Ext.MessageBox.show
                             ({
                                    title   : 'ERROR DE SISTEMA',
                                    msg     : '<b>NO EXISTE CONEXION CON LA BD, NOTIFICAR AL ADMINISTRADOR.!!!</b>',
                                    buttons : Ext.MessageBox.OK,
                                    icon    : Ext.MessageBox.ERROR
                            });
                        break;
                        case 4:
                            Ext.getCmp('btnSave_'+id).disable();
                            Ext.MessageBox.show
                             ({
                                    title   : 'ERROR DE SISTEMA',
                                    msg     : '<b>ESTA SOLICITUD NO SE PUEDE EDITAR DEBIDO A QUE SE ENCUENTRA EN VERIFICACION!!!</b>',
                                    buttons : Ext.MessageBox.OK,
                                    icon    : Ext.MessageBox.ERROR
                            });
                        break;
                        default:
                            Ext.getCmp('btnSave_'+id).disable();
                            Ext.MessageBox.show
                             ({
                                    title   : 'ERROR DE SISTEMA',
                                    msg     : '<b>OCURRIO UN ERROR AL MOMENTO DE INGRESAR LOS DATOS AL SISTEMA, INTENTE DE NUEVO.!!!</b>',
                                    buttons : Ext.MessageBox.OK,
                                    icon    : Ext.MessageBox.WARNING
                            });
                        break;
                    }
                },
		failure: function(response)
                {
                    Ext.getCmp('btnSave_'+id).disable();
                    Ext.MessageBox.show
                    ({
                        title: 'ERROR DE SISTEMA',
                        msg: '<b>OCURRIO  UN ERROR CON EL SERVIDOR DEL SISTEMA!!!</b>',
                        buttons: Ext.MessageBox.OK,
                        icon: Ext.MessageBox.WARNING
                    });	
		}									    
            });             
             
         }   
         else
         {
             Ext.getCmp('btnSave_'+this.id_abrev).enable();
             Ext.MessageBox.show
             ({
                title   : 'VERIFICAR ERRORES',
                msg     : '<b>LA INFORMACION INGRESADA ES INCORRECTA, REVISAR EL FORMULARIO!!!</b>',
                buttons : Ext.MessageBox.OK,
                icon    : Ext.MessageBox.ERROR
             });   
         }
    },
    
    onCancelar          :   function()
    {
        
        Ext.getCmp('id_form_solicitud_extranjera_'+this.id_abrev).getForm().reset();
        
        Ext.getCmp('date_solicitud_'+this.id_abrev).disable();
        Ext.getCmp('txt_namefirma_'+this.id_abrev).disable();
        Ext.getCmp('txt_representantel_'+this.id_abrev).disable();
        Ext.getCmp('txt_autorizado_'+this.id_abrev).disable();
        Ext.getCmp('btn_buscar_auto_'+this.id_abrev).disable();
        
        Ext.getCmp('btnNewExtranjera_'+this.id_abrev).enable();
        Ext.getCmp('btnSave_'+this.id_abrev).disable();
        Ext.getCmp('btnCancelar_'+this.id_abrev).disable();
    }
});